-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PM-16154: Learn new login guided tour #1266
PM-16154: Learn new login guided tour #1266
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## PM-16153/draw-new-login-action-card #1266 +/- ##
=======================================================================
- Coverage 89.48% 89.34% -0.15%
=======================================================================
Files 733 741 +8
Lines 46308 46753 +445
=======================================================================
+ Hits 41440 41770 +330
- Misses 4868 4983 +115 ☔ View full report in Codecov by Sentry. |
Great job, no security vulnerabilities found in this Pull Request |
BitwardenShared/UI/Platform/Application/Support/Localizations/en.lproj/Localizable.strings
Outdated
Show resolved
Hide resolved
BitwardenShared/UI/Platform/Application/Views/FullScreenCoverBackgroundRemovalView.swift
Outdated
Show resolved
Hide resolved
BitwardenShared/UI/Platform/Application/Views/FullScreenCoverBackgroundRemovalView.swift
Show resolved
Hide resolved
BitwardenShared/UI/Platform/Application/Views/GuidedTourView/GuidedTourView.swift
Show resolved
Hide resolved
BitwardenShared/UI/Vault/VaultItem/AddEditItem/AddEditItemState.swift
Outdated
Show resolved
Hide resolved
BitwardenShared/UI/Vault/VaultItem/AddEditItem/AddEditItemState.swift
Outdated
Show resolved
Hide resolved
BitwardenShared/UI/Vault/VaultItem/AddEditItem/AddEditItemState.swift
Outdated
Show resolved
Hide resolved
…m/bitwarden/ios into PM-16154/new-login-coachmark
BitwardenShared/UI/Platform/Application/Extensions/Rect+Extensions.swift
Outdated
Show resolved
Hide resolved
BitwardenShared/UI/Platform/Application/Extensions/View+OnSizeChanged.swift
Outdated
Show resolved
Hide resolved
BitwardenShared/UI/Platform/Application/Views/GuidedTourView/GuidedTourState.swift
Outdated
Show resolved
Hide resolved
/// The arrow is horizontally positioned at the left side of the spotlight. | ||
/// The position is calculated by dividing the width of the spotlight by 3 | ||
/// and placing the arrow at the center of the first part. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Nice docs!
BitwardenShared/UI/Platform/Application/Views/GuidedTourView/GuidedTourState.swift
Outdated
Show resolved
Hide resolved
BitwardenShared/UI/Vault/VaultItem/AddEditItem/AddEditItemProcessorTests.swift
Outdated
Show resolved
Hide resolved
BitwardenShared/UI/Vault/VaultItem/AddEditItem/AddEditItemState.swift
Outdated
Show resolved
Hide resolved
BitwardenShared/UI/Vault/VaultItem/AddEditItem/AddEditItemView.swift
Outdated
Show resolved
Hide resolved
BitwardenShared/UI/Vault/VaultItem/AddEditItem/AddEditItemView.swift
Outdated
Show resolved
Hide resolved
BitwardenShared/UI/Vault/VaultItem/AddEditItem/AddEditLoginItem/AddEditLoginItemView.swift
Outdated
Show resolved
Hide resolved
@matt-livefront @KatherineInCode Thank you for your thorough feedback! I've made an effort to address all of your comments. If I overlooked anything, please let me know. |
…m/bitwarden/ios into PM-16154/new-login-coachmark
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BitwardenShared/UI/Platform/Application/Extensions/View+OnSizeChanged.swift
Outdated
Show resolved
Hide resolved
BitwardenShared/UI/Vault/VaultItem/AddEditItem/AddEditItemProcessor.swift
Outdated
Show resolved
Hide resolved
BitwardenShared/UI/Vault/VaultItem/AddEditItem/AddEditItemView.swift
Outdated
Show resolved
Hide resolved
ScrollViewReader { reader in | ||
ScrollView { | ||
// Dummy spacer view for scroll view to locate when scrolling to top | ||
Spacer() | ||
.frame(height: 0) | ||
.id(Constants.top) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🤔 I wonder if we could encapsulate much of the guided tour setup within its own view that then wraps the content in the scroll view?
Here's my thought, this relies on moving showGuidedTour
into the state, but otherwise this is pretty self contained and would keep many of the properties and logic for scroll view aspect of the guided tour together and allow for reusability. What do you think?
I also wonder if we could add the full screen cover here or if that needs to be at the top-level?
struct GuidedTourScrollView<Content: View>: View {
@ViewBuilder var content: Content
let state: GuidedTourViewState
/// An environment variable for getting the vertical size class of the view.
@Environment(\.verticalSizeClass) var verticalSizeClass
var body: some View {
ScrollViewReader { reader in
ScrollView {
// Dummy spacer view for scroll view to locate when scrolling to top
Spacer()
.frame(height: 0)
.id(Constants.top)
content
}
.task(id: verticalSizeClass) {
handleLandscapeScroll(reader)
}
.task(id: state.currentIndex) {
handleLandscapeScroll(reader)
}
// .task(id: store.state.showGuidedTour) {
// if store.state.showGuidedTour == false {
// reader.scrollTo(Constants.top)
// }
// }
}
}
/// Scrolls to the guided tour step when in landscape mode.
private func handleLandscapeScroll(_ reader: ScrollViewProxy) {
reader.scrollTo(GuidedTourStep(rawValue: state.currentIndex))
}
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also moved the GuidedTour view to this view.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good! There's a few lint warnings, could you resolve those?
BitwardenShared/UI/Vault/VaultItem/AddEditItem/AddEditItemView.swift
Outdated
Show resolved
Hide resolved
BitwardenShared/UI/Vault/VaultItem/AddEditItem/AddEditItemView.swift
Outdated
Show resolved
Hide resolved
BitwardenShared/UI/Vault/VaultItem/AddEditItem/AddEditItemView.swift
Outdated
Show resolved
Hide resolved
BitwardenShared/UI/Vault/VaultItem/AddEditItem/AddEditItemView.swift
Outdated
Show resolved
Hide resolved
632b617
into
PM-16153/draw-new-login-action-card
🎟️ Tracking
PM-16154
PM-16175
PM-16203
📔 Objective
📸 Screenshots
Simulator.Screen.Recording.-.iPhone.16.Pro.-.2025-01-13.at.15.07.56.mp4
⏰ Reminders before review
🦮 Reviewer guidelines
:+1:
) or similar for great changes:memo:
) or ℹ️ (:information_source:
) for notes or general info:question:
) for questions:thinking:
) or 💭 (:thought_balloon:
) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion:art:
) for suggestions / improvements:x:
) or:warning:
) for more significant problems or concerns needing attention:seedling:
) or ♻️ (:recycle:
) for future improvements or indications of technical debt:pick:
) for minor or nitpick changes